home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / library / rqtlsusr.lha / ReqTools / RexxReqTools / Demo.rexx next >
OS/2 REXX Batch file  |  1994-08-23  |  10KB  |  256 lines

  1. /*$VER: Demo.rexx 37.21 (15.8.94)
  2. **
  3. **  $Filename: Demo.rexx $
  4. **  $Version: 37.21 $
  5. **  $Date: 15.8.94 $
  6. **  $Creation: 2.1.93 $
  7. **
  8. **  Demo ARexx script for rexxreqtools.library
  9. **
  10. **  (C) Copyright 1993-1994 Rafael D'Halleweyn
  11. */
  12.  
  13. /* NOTE: A Comma at the end of a line is no argument seperator but contituation
  14.  *       character for a statement that continues on the next line!!
  15.  */
  16.  
  17. NL = '0a'x
  18.  
  19. call addlib("libs/rexxreqtools.library", 0, -30, 0)
  20.  
  21. call rtezrequest( "RexxReqTools 1.3 Demo" || NL ||,
  22.                   "~~~~~~~~~~~~~~~~~~~~~" || NL ||,
  23.                   "'rexxreqtools.library' offers several" || NL ||,
  24.                   "different types of requesters:", "Let's see them", , ,
  25.                   "rtez_flags = ezreqf_centertext")
  26.  
  27.  
  28. call rtezrequest( "But first you'll have to pick the font" || NL ||, 
  29.                   "that you want to use for this demo.")
  30. call rtfontrequest("Pick font", , , font)
  31. if font then
  32.   fonttag = "rt_font=" || font.name || "/" || font.height
  33. else
  34.   fonttag = ""
  35.  
  36.  
  37. /* STRING REQUESTER */
  38.  
  39. call rtezrequest( "NUMBER 1:" || NL ||,
  40.                   "String requester" || NL ||,
  41.                   "function: rtgetstring()", "Show me" , , fonttag)
  42.  
  43. buffer = rtgetstring("A bit of text", , "Enter anything:", , fonttag)
  44. if buffer == "" then
  45.   call rtezrequest("You entered nothing!", "I'm sorry", , fonttag)
  46. else
  47.   call rtezrequest( "You entered this string:" || NL ||,
  48.                     "'" || buffer || "'.", "So I did", , fonttag)
  49.  
  50. buffer = rtgetstring(buffer,,
  51.   "These are two new features of ReqTools 2.0:" || NL ||,
  52.   "Text above the entry gadget and more than" || NL ||,
  53.   "one response gadget.", "Enter anything:",,
  54.   " _Ok |New _2.0 feature!|_Cancel", fonttag)
  55. if rtresult == 2 then call rtezrequest( "Yep, this is a new" || NL ||,
  56.                                         "ReqTools 2.0 feature!", "Oh boy!",,
  57.                                        , fonttag)
  58.  
  59. call rtgetstring(buffer, "New is also the ability to switch off" || NL ||,
  60.                          "the backfill pattern. You can also center" || NL ||,
  61.                          "the text above the entry gadget." || NL ||,
  62.                          "These new features are also available" || NL ||,
  63.                          "in the rtgetlong() requester.",,
  64.   "Enter anything:"," _Ok |_Abort|_Cancel",,
  65.   fonttag,
  66.   "rtgs_backfill = false rtgs_flags = gsreqf_centertext|gsreqf_highlighttext")
  67. if rtresult == 2 then
  68.   call rtezrequest( "What!! You pressed abort!?!" || NL ||,
  69.                     "You must be joking :-)", "Ok, continue", , fonttag)
  70.  
  71.  
  72. /* NUMBER REQUESTER */
  73.  
  74. call rtezrequest( "NUMBER 2:" || NL ||,
  75.                   "Number requester" || NL ||,
  76.                   "function: rtgetlong()", "Show me", , fonttag)
  77.  
  78. long = rtgetlong(, , "Enter a number:", , fonttag,
  79.                                           "rtgl_min = -666 rtgl_max = 666")
  80. if rtresult == 0 then
  81.   call rtezrequest("You entered nothing!", "I'm sorry", , fonttag)
  82. else
  83.   do
  84.     text =         "The number you entered was:" || NL
  85.     text = text || long
  86.     if long == 666 then text = text "(you devil!)"
  87.     if long == -666 then text = text "(you negative devil!)"
  88.     call rtezrequest(text, "So it was", , fonttag)
  89.   end
  90.  
  91.  
  92. /* MESSAGE REQUESTER */
  93.  
  94. call rtezrequest( "NUMBER 3:" || NL ||,
  95.                   "Message requester, the requester" || NL ||,
  96.                   "you've been using all the time!" || NL ||,
  97.                   "function: rtezrequest()", "Show me more", , fonttag)
  98.  
  99. call rtezrequest( "Simplest usage: some body text" || NL ||,
  100.                   "and a single centered gadget.", "Got it", , fonttag)
  101.  
  102. do while rtezrequest( "You can also use two gadgets" || NL ||,
  103.                       "to ask the user something." || NL ||,
  104.                       "Do you understand?", "Of course|Not really", , fonttag) == 0
  105.   call rtezrequest("You are not one of the brightest are you?",,
  106.         "Let me try again", , fonttag)
  107. end
  108.  
  109. call rtezrequest("Great, we'll continue then.", "Fine", , fonttag)
  110.  
  111. call rtezrequest( "You can also put up a requester" || NL ||,
  112.                   "with three choices:" || NL ||,
  113.                   "How do you like the demo so far ?",,
  114.                   "_Great|_So so|_Rubbish", , fonttag)
  115. if rtresult == 0 then
  116.   call rtezrequest( "Too bad, we really hoped" || NL ||,
  117.                     "you would like it better.", "So what", , fonttag)
  118. if rtresult == 1 then
  119.   call rtezrequest("We're glad you like it so much.", "Fine", , fonttag)
  120. if rtresult == 2 then
  121.   call rtezrequest( "Maybe if you run the demo" || NL ||,
  122.                     "again you'll REALLY like it!", "Perhaps", , fonttag)
  123.  
  124. call rtezrequest( "The number of responses is not limited to" || NL ||,
  125.                   "three as you can see. The gadgets are labeled" || NL ||,
  126.                   "with the return code from rtezrequest()." || NL ||,
  127.                   "Pressing Return will choose 4, note that" || NL ||,
  128.                   "4's button text is printed in boldface.",,
  129.   "1|2|3|4|5|0", , fonttag "rtez_defaultresponse = 4")
  130.  
  131. call rtezrequest("You picked '" || rtresult || "'.", "How true", , fonttag)
  132.  
  133. if rtezrequest( "It is also possible to pass extra IDCMP flags" || NL ||,
  134.                 "that will satisfy rtezrequest(). This requester" || NL ||,
  135.                 "has had 'idcmp_diskinserted' passed to it." || NL ||,
  136.                 "(Try inserting a disk).", "Continue", ,,
  137.     fonttag "rt_idcmpflags = idcmp_diskinserted") == 0 then
  138.   call rtezrequest("You used the 'Continue' gadget.", "I did", , fonttag)
  139. else
  140.   call rtezrequest("You inserted a disk.", "I did", , fonttag)
  141.  
  142. call rtezrequest( "Finally, it is possible to specify the position of the" || NL ||,
  143.                   "requester." || NL ||,
  144.                   "E.g. at the top left of the screen, like this." || NL ||,
  145.                   "This works for all requesters, not just rtezrequest()!",,
  146.   "Amazing", , fonttag "rt_reqpos = reqpos_topleftscr")
  147.  
  148. call rtezrequest( "Alternatively, you can center" || NL ||,
  149.                   "the requester on the screen." || NL ||,
  150.                   "Check out 'rexxreqtools.guide'" || NL ||,
  151.                   "for all the possibilities.", "I'll do that", ,,
  152.   fonttag "rt_reqpos = reqpos_centerscr")
  153.  
  154.  
  155. /* FILE REQUESTER */
  156.  
  157. call rtezrequest( "NUMBER 4:" || NL ||,
  158.                   "File requester" || NL ||,
  159.                   "function: rtfilerequest()", "Demonstrate", , fonttag)
  160.  
  161. filename = rtfilerequest(, , "Pick a file" , , fonttag "rtfi_buffer = true")
  162. if rtresult == 0 then
  163.   call rtezrequest("You didn't pick a file.", "No", , fonttag)
  164. else
  165.   call rtezrequest("You picked the file:" || NL || filename, "Right", , fonttag)
  166.  
  167. call rtezrequest( "The file requester has the ability" || NL ||,
  168.                   "to allow you to pick more than one" || NL ||,
  169.                   "file (use Shift to extend-select)." || NL ||,
  170.                   "Note the extra gadgets you get.", "Interesting", , fonttag)
  171.  
  172. filename = rtfilerequest(, , "Pick some files", ,,
  173.             fonttag "rtfi_flags = freqf_multiselect")
  174. if rtresult == 1 then
  175.   call rtezrequest( "You selected" rtresult.count "files, " || NL ||,
  176.                     "this is the first one:" || NL ||,
  177.                     rtresult.1, "Aha", , fonttag)
  178.  
  179. call rtezrequest( "The file requester can be used" || NL ||,
  180.                   "as a directory requester as well.", "Let's see that", ,,
  181.                    fonttag)
  182.  
  183. dirname = rtfilerequest(, , "Pick a directory", ,,
  184.             fonttag "rtfi_flags = freqf_nofiles")
  185. if rtresult == 0 then
  186.   call rtezrequest("You didn't pick a directory.", "No", , fonttag)
  187. else
  188.   call rtezrequest("You picked the directory:" || NL || dirname, "Right", ,,
  189.         fonttag)
  190.  
  191.  
  192. /* FONT REQUESTER */
  193.  
  194. call rtezrequest( "NUMBER 5:" || NL ||,
  195.                   "Font requester" || NL ||,
  196.                   "function: rtfontrequest()", "Show", , fonttag)
  197.  
  198. call rtfontrequest("Pick a font", , fonttag "rtfo_flags = freqf_style")
  199. if rtresult == 0 then
  200.   call rtezrequest("You canceled." || NL || "Was there no font you liked ?",,
  201.          "Nope", , fonttag)
  202. else
  203.   call rtezrequest( "You picked the font:" || NL ||,
  204.                     rtresult.name "size" rtresult.height, "Right", , fonttag)
  205.  
  206.  
  207. /* PALETTE REQUESTER */
  208.  
  209. call rtezrequest( "NUMBER 6:" || NL ||,
  210.                   "Palette requester" || NL ||,
  211.                   "function: rtpaletterequest()", "Proceed", , fonttag)
  212.  
  213. color = rtpaletterequest(, "Change palette", fonttag)
  214. if rtresult == -1 then
  215.   call rtezrequest("You canceled." || NL || "No nice colors to be picked ?",,
  216.         "Nah", , fonttag)
  217. else
  218.   call rtezrequest("You picked color number" color, "Sure did", , fonttag)
  219.  
  220.  
  221. /* VOLUME REQUESTER */
  222.  
  223. call rtezrequest( "NUMBER 7:" || NL ||,
  224.                   "Volume requester" || NL ||,
  225.                   "function: rtfilerequest() with" || NL ||,
  226.                   "          rtfi_volumerequest tag.", "Show me", , fonttag)
  227.  
  228. volumename = rtfilerequest(, , "Pick a volume", ,,
  229.               fonttag "rtfi_volumerequest = 0")
  230. if rtresult == 0 then
  231.   call rtezrequest("You didn't pick a volume.", "I did not", , fonttag)
  232. else
  233.   call rtezrequest("You picked the volume:" || NL || volumename, "Right", ,,
  234.         fonttag)
  235.  
  236.  
  237. /* SCREENMODE REQUESTER */
  238.  
  239. call rtezrequest( "NUMBER 8:" || NL ||,
  240.                   "Screenmode requester" || NL ||,
  241.                   "function: rtscreenmoderequest().", "Let's have a look", ,,
  242.                   fonttag)
  243. screenmode = rtscreenmoderequest( "Pick screentype", ,,
  244.               fonttag "rtsc_flags = screqf_sizegads|screqf_depthgad", screen)
  245. if screenmode ~= "" then
  246.   call rtezrequest( "So you'd like to open a" || NL ||,
  247.                     screen.name "screen.", "That's right", , fonttag)
  248. else
  249.   call rtezrequest( "Don't you have the right monitor ?", " No ", , fonttag)
  250.  
  251.  
  252. call rtezrequest("That's it!" || NL || "Hope you enjoyed the demo",,
  253.       "Sure did", , fonttag)
  254.  
  255. call rtfreefilebuffer()
  256.